package com.mszlu.blog.service;

import com.mszlu.blog.vo.ArticleVo;
import com.mszlu.blog.vo.Result;
import com.mszlu.blog.vo.params.ArticleParam;
import com.mszlu.blog.vo.params.PageParams;

/**
 * @author linKe
 * 文章服务层
 */
public interface ArticleService {
    /**
     * 分页查询 文章列表
     * @param pageParams    分页参数
     * @return 分页查询结果
     */
    Result listArticle(PageParams pageParams);

    /**
     * 最热文章
     * @param limit 显示条数
     * @return  文章结果集
     */
    Result hotArticle(int limit);

    /**
     * 最新文章
     * @param limit 显示条数
     * @return  文章结果集
     */
    Result newArticles(int limit);

    /**
     * 文章归档
     * @return  归档后的结果集
     */
    Result listArchives();

    /**
     * 查看文章详情
     * @param articleId 文章id
     * @return  文章
     */
    Result findArticleById(Long articleId);

    /**
     * 文章发布服务
     * @param articleParam 文章参数vo
     * @return 文章
     */
    Result publish(ArticleParam articleParam);
}
